Configuración de Metadatos
Esta guía muestra cómo configurar metadatos para las imágenes de su OV20i. Los metadatos son información adicional que se almacena con cada imagen capturada, lo que ayuda a rastrear detalles importantes como números de pieza, números de serie o datos de producción.
Cuándo usar metadatos: Seguimiento de la producción, identificación de piezas, registros de control de calidad, información de lote, identificación del operador o cualquier dato personalizado que necesite asociar con las imágenes de inspección.
Prerrequisitos
- Sistema de cámara OV20i configurado y conectado
- Receta activa configurada con configuración de imagen y de inspección
- Al menos un bloque de AI (clasificación o segmentación) configurado
- Comprensión de los datos que desea rastrear a partir de los resultados de la inspección
¿Qué son los metadatos?
Los metadatos son información adicional que se adjunta a cada imagen capturada. Esta información:
- Se almacena junto con la imagen en la biblioteca de la cámara
- Aparece en la HMI para que los operadores los vean
- Ayuda a identificar y rastrear piezas específicas o lotes de producción
- Se pueden buscar en la biblioteca para análisis
Ejemplos de metadatos útiles:
- Part numbers (p. ej., "P12345")
- Serial numbers (p. ej., "SN987654")
- Operator names (p. ej., "John_Smith")
- Shift information (p. ej., "A_Shift")
- Batch numbers (p. ej., "Batch_2025_001")
Los metadatos se pueden guardar únicamente cuando se completa una inspección. Los metadatos deben formar parte del flujo que comienza desde "All Block Outputs" después de que la cámara capture y procese una imagen.
Paso 1: Acceder al Editor de Node-RED
1.1 Navegar al IO Block
- Abra su receta activa en el Editor de Recetas
- Haga clic en Configurar IO o seleccione IO Block en el menú de migas de pan para ingresar al Editor de Node-RED
1.2 Verificar la Interfaz de Node-RED
Punto de control: Debería ver el editor de flujo de Node-RED con el flujo del IO Block existente y la paleta de nodos en el lado izquierdo.
Paso 2: Localizar el nodo "All Block Outputs"
2.1 Encontrar el Punto de Inicio
En su flujo de Node-RED, busque el nodo "All Block Outputs". Este es el punto de inicio que recibe datos de la cámara después de que se dispara y se procesa una inspección.
- El nodo "All Block Outputs":
- Contiene resultados de inspección de todos los bloques de AI
- Incluye información de captura de imágenes
- Proporciona los datos necesarios para la creación de metadatos
- Es la fuente que alimenta tanto la creación de metadatos como las decisiones de pase/fallo
2.2 Comprender la Estructura del Flujo
Su flujo debe seguir este patrón:
Camera Trigger → AI Processing → All Block Outputs → [Your Custom Logic]
Desde "All Block Outputs" se requieren dos rutas separadas:
- Ruta de Metadatos: All Block Outputs → Function (Create Metadata) → Capture Metadata
- Ruta de Decisión: All Block Outputs → Function (Logic) → Final Pass/Fail
Tanto los metadatos como las decisiones de pase/fallo deben ramificarse desde el nodo "All Block Outputs".
Paso 3: Agregar Capture Metadata Node
3.1 Localizar el nodo Metadatos
- Encuentre el nodo "Capture Metadata" en el panel izquierdo (sección Overview)
- Arrastre el nodo "Capture Metadata" al lienzo del flujo
- Colóquelo en su flujo después del disparador pero antes de la captura de imágenes
3.2 Colocación de nodos en el flujo
Estructura de flujo correcta:
All Block Outputs → Function (Create Metadata) → Capture Metadata
↓
Function (Pass/Fail Logic) → Final Pass/Fail
El nodo "Final Pass/Fail" es requerido para que el flujo funcione correctamente. Todo flujo debe terminar con este nodo.
::
Paso 4: Configurar Campos de Metadatos
4.1 Configurar Metadatos Básicos
- Haga doble clic en el nodo Capture Metadata
- Configure los campos de metadatos que desea rastrear
- Configure las fuentes de datos para cada campo
4.2 Requisitos de Formato de Metadatos
Los metadatos deben estar formateados como un objeto con:
- Claves de tipo String - Los nombres de los campos deben ser texto
- Valores de tipo String o Number - Los datos pueden ser texto o números
Ejemplo de formato correcto:
{
"part_number": "P12345",
"serial_number": "SN987654",
"operator": "John_Smith",
"shift": "A",
"quantity": 100,
"temperature": 23.5
}
Paso 5: Crear Nodo de Función de Metadatos
5.1 Añadir Nodo de Función para la Creación de Metadatos
- Añada un "function" nodo entre "All Block Outputs" y el nodo "Capture Metadata"
- Haga doble clic en el nodo de función para configurarlo
- Esta función extraerá datos de los resultados de inspección y creará metadatos
5.2 Extraer Datos de "All Block Outputs"
El nodo "All Block Outputs" proporciona datos de inspección detallados. Así es como extraerlos:
// Extract data from inspection results
const captureId = msg.payload.capture_id;
const serialNumber = msg.payload.serial_number || "No_Serial";
const inspectionTime = msg.payload.inspection_time || new Date().toISOString();
// Create metadata from inspection data
msg.payload = {
"capture_id": captureId,
"serial_number": serialNumber,
"inspection_time": inspectionTime,
"operator": global.get("current_operator") || "Unknown"
};
return msg;
5.3 Metadatos estáticos (Valores fijos)
Para información que no cambia durante la producción:
// Set static metadata values
msg.payload = {
"recipe_name": "Bolt_Inspection_v2",
"line_number": "Line_3",
"shift": "A_Shift",
"station": "QC_Station_1"
};
return msg;
5.4 Metadatos dinámicos (utilizando datos de inspección)
Para la información que proviene de los resultados de inspección:
// Extract inspection data
const captureId = msg.payload.capture_id;
const imageUrl = msg.payload.image_url;
const predictions = msg.payload.classification?.predictions || [];
// Create dynamic metadata
msg.payload = {
"capture_id": captureId,
"part_number": "P" + Date.now(),
"total_rois": predictions.length,
"timestamp": new Date().toISOString(),
"batch": global.get("current_batch") || "Default_Batch"
};
return msg;
Paso 6: Conectar Metadatos y Flujos de Pass/Fail
6.1 Estructura de Flujo Requerida
Cada flujo debe tener ambas rutas desde "All Block Outputs":
All Block Outputs → Function (Create Metadata) → Capture Metadata
↓
Function (Pass/Fail Logic) → Final Pass/Fail
6.2 Conectar la Ruta de Metadatos
- Conectar la salida de "All Block Outputs" a la entrada de la función de metadatos
- Conectar la salida de la función de metadatos a la entrada de "Capture Metadata"
- El nodo Capture Metadata puede ser un nodo terminal (no se necesita una conexión de salida)
6.3 Conectar la Ruta de Pass/Fail
- Conectar la salida de "All Block Outputs" a una función lógica de pass/fail
- Conectar la salida de la función lógica a la entrada de "Final Pass/Fail"
- El nodo "Final Pass/Fail" es obligatorio - cada flujo debe terminar aquí
6.4 Ejemplo de Lógica de Aprobación/Rechazo
// Extract inspection result for pass/fail decision
const predictions = msg.payload.classification?.predictions || [];
// Determine if inspection passed (all ROIs passed)
let passed = true;
for (let prediction of predictions) {
if (!prediction.predicted_class.includes("pass")) {
passed = false;
break;
}
}
// Set the pass/fail result
msg.payload = passed;
return msg;
Paso 7: Configuración de Metadatos de Prueba
7.1 Despliegue y Prueba
- Haga clic en el botón 'Despliegue' (esquina superior derecha)
- Inicie una inspección mediante su método de disparo configurado (manual, entrada digital o PLC)
- Verifique que:
- Se capturó una imagen
- Los metadatos aparecen junto con la imagen
- Se tomó una decisión de Aprobado/Rechazado
- El flujo se completó correctamente
7.2 Verificar Flujo Completo
Verifique que ambos caminos funcionen:
Ruta de Metadatos:
- Navegue a Library en la interfaz principal
- Encuentre su imagen de prueba
- Verifique que los metadatos aparezcan en los detalles de la imagen
Ruta Aprobado/Rechazado:
- Verifique que los resultados de la inspección muestren el estado Aprobado/Rechazado
- Verifique que el nodo "Final Pass/Fail" se haya procesado correctamente
- Confirme cualquier salida conectada (PLCs, indicadores) responda adecuadamente
7.3 Probar Diferentes Fuentes de Disparo
Verifique que los metadatos funcionen con su disparo específico:
Para Disparos Manuales:
- Utilice el botón de disparo por software
- Verifique que los metadatos aparezcan en cada captura manual
Para Disparos por Entrada Digital:
- Active el sensor/interruptor externo
- Confirme que los metadatos se capturen con las imágenes disparadas
Para Disparos de PLC:
- Envíe la señal de disparo desde PLC
- Verifique que los metadatos incluyan datos del PLC cuando corresponda
Paso 8: Configuraciones Avanzadas de Metadatos
8.1 Metadatos de Múltiples Variables Globales
Combinar datos de diferentes fuentes almacenadas a nivel global:
// Combine data from various global storage
const operatorData = global.get("operator_info") || {};
const productData = global.get("product_info") || {};
const shiftData = global.get("shift_info") || {};
msg.payload = {
"operator": operatorData.name || "Unknown",
"operator_id": operatorData.id || "000",
"product_code": productData.code || "Default",
"product_version": productData.version || "1.0",
"shift": shiftData.current || "Day",
"line_status": "Running",
"timestamp": new Date().toISOString()
};
return msg;
Paso 9: Solución de Problemas de Metadatos
9.1 Problemas Comunes
| Problema | Síntomas | Solución |
|---|---|---|
| Metadatos no aparecen | No hay datos en Library | Verifique que el nodo de metadatos esté en el flujo IO Block principal |
| Metadatos con imagen incorrecta | Los datos aparecen en capturas incorrectas | Verifique la temporización: los metadatos deben ir antes de la captura de la imagen |
| Disparo no funciona | No se capturan imágenes | Verifique la configuración del disparador IO Block |
| Faltan campos de metadatos | Faltan algunos datos | Verifique el formato de la carga del nodo de función |
| Error de tipo de datos incorrecto | El nodo muestra estado de error | Asegúrese de que los valores sean solo cadenas o números |
9.2 Depuración del Flujo de Metadatos
Agregue nodos de depuración para la resolución de problemas:
- Agregue un nodo de depuración después del disparador para verificar que el disparador funcione
- Agregue un nodo de depuración después de la función de metadatos para verificar el payload
- Agregue un nodo de depuración después de Capture Metadata para confirmar el procesamiento
- Verifique el panel de depuración en busca de mensajes de error
Paso 10: Mejores Prácticas
10.1 Diseño de Flujo
Diseñe flujos de metadatos eficientes:
- Mantenga los metadatos al inicio del flujo - Configure los metadatos inmediatamente después del disparador
- Use un solo nodo de metadatos - No duplique nodos Capture Metadata
- Mantenga la continuidad del flujo - Los metadatos deben formar parte del flujo principal de inspección
- Maneje los datos faltantes - Siempre proporcione valores predeterminados
10.2 Nombres de Campos de Metadatos
Utilice nombres de campos consistentes y claros:
- Utilice guiones bajos en lugar de espacios ("part_number" en lugar de "part number")
- Sea descriptivo pero conciso ("operator" no "op")
- Utilice minúsculas para mantener la consistencia
- Evite caracteres especiales que podrían causar problemas
10.3 Consideraciones de Rendimiento
Para una producción de alto volumen:
- Minimice el tamaño de metadatos - Incluya solo la información necesaria
- Utilice tipos de datos eficientes - Números cuando sea posible, cadenas cortas
- Evite procesamiento complejo - Mantenga la creación de metadatos simple y rápida
- Cache de datos globales - Almacene datos de uso frecuente en variables globales
¡Éxito! Su sistema de metadatos está listo
La configuración de metadatos ya puede:
✅ Adjunte información personalizada a cada captura de imagen disparada
✅ Registre datos de producción sincronizados con el flujo de inspección
✅ Almacene información buscable en la biblioteca de la cámara
✅ Muestre datos relevantes en el HMI para operadores
✅ Soporte la trazabilidad para los requisitos de fabricación
Mantenimiento Continuo
Verificaciones Regulares del Sistema
- Verifique que los metadatos aparezcan junto con las capturas disparadas
- Compruebe la presencia de datos faltantes en las ejecuciones de producción
- Monitoree el rendimiento del flujo con altas tasas de disparo
- Actualice los campos de metadatos a medida que cambien los requisitos
Gestión del Flujo
- Revise la temporización de metadatos en la producción
- Optimice el rendimiento de los nodos de función
- Actualice la gestión de variables globales
- Capacite a los operadores en la operación basada en disparadores
Próximos Pasos
Después de configurar metadatos basados en disparadores:
- Pruebe con todos los tipos de disparo configurados (manual, digital, PLC)
- Capacite a los operadores en el uso adecuado de los disparadores para la captura de metadatos
- Configure la gestión de variables globales para datos dinámicos
- Cree plantillas de metadatos para diferentes líneas de producto
- Implemente el monitoreo de la producción mediante analítica de metadatos